﻿//Copyright (C) Riwut Libinuko, 2010 - Ideas For Free
//http://blog.libinuko.com

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SharePointZip.Controller;
using ICSharpCode.SharpZipLib.Zip;

namespace SharePointZip.Tools
{
    /// <summary>
    /// Base <see cref="ICompress&lt;TEngine&gt;"/> implementation using <seealso cref="ZipOutputStream"/>
    /// </summary>
    /// <typeparam name="TSource">Source type</typeparam>
    public abstract class SharpZipLibCompressorBase<TSource> :
        ICompress<ZipOutputStream, TSource>
    {
        /// <summary>
        /// Must be implemented by child class.
        /// </summary>
        /// <param name="zipEngine">Compression engine type</param>
        /// <param name="objSrc">Source object</param>
        public abstract void CreateCompressedStream(ZipOutputStream zipEngine, TSource objSrc);

    }
}
